<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    var arr = ["hello",4,5,6,"world"];
    console.log(arr);

    // 查
    // console.log(arr[2]);
    // console.log(arr[3]);
    // console.log(arr[4]);
    // console.log(arr[5]);

    // 改
    // arr[3] = "abc";

    // 增：给数组不存在的位置赋值，只能在数组最后新增
    // 如果索引不连续，中间没有赋值的索引都是undefined
    // arr[5] = "hahaha";
    // arr[10] = "qwe";
    // console.log(arr[6])
    // console.log(arr[7])
    // console.log(arr[8])
    // console.log(arr[9])

    // 增加数据到数组指定位置
    // arr[5] = arr[4];
    // arr[4] = arr[3];
    // arr[3] = arr[2];
    // arr[2] = "hahaha";

    function insert(a, i, d){
        // 从最后向前到要插入位置的前一个，依次向后挪一位
        for(var x=a.length;x>i;x--){
            a[x] = a[x-1]
        }
        // 最后直接将要插入的数据，放在指定位置
        a[i] = d;
    }
    // insert(arr, 0, "heihiehieh");

    // 删：减少数组的长度，自动只能从末尾减少
    // arr[4] = undefined;
    // arr.length = 3;
    // 删除指定位置的数据
    // arr[2] = arr[3];
    // arr[3] = arr[4];
    // arr.length = arr.length-1;
    function remove(a, i){
        // 从要删除的位置开始向后遍历，用后一个数据，覆盖前一个数据
        for(var x=i;x<arr.length-1;x++){
            arr[x] = arr[x+1];
        }
        // 最后将数组的长度减1
        arr.length -= 1;
    }
    remove(arr, 5);


    console.log(arr);
</script>
</html>